import { IParam } from '../../common';
import { ICtrlActionResult } from '../data-action';
import { ITreeModel } from '../model';
import { IMDCtrlAbilityBase } from './i-md-ctrl-ability-base';

/**
 * 树部件能力
 *
 * @export
 * @interface ITreeAbility
 * @extends {IMDCtrlAbility}
 */
export interface ITreeAbility extends IMDCtrlAbilityBase<ITreeModel> {
	/**
	 * 刷新所有节点
	 *
	 * @memberof ITreeAbility
	 */
	refreshAllNode(opt?: IParam): Promise<ICtrlActionResult>;

	/**
	 * 刷新父节点
	 *
	 * @memberof ITreeAbility
	 */
	refreshParentNode(): void;

	/**
	 * 刷新当前节点
	 *
	 * @memberof ITreeAbility
	 */
	refreshCurrentNode(): void;
}
